package com.example.demo.utils;

/**
 * 单例模式-饿汉式 并发安全
 *
 * 优点和适用场景:
 * 需要加载一些配置和属性，这些配置和属性是一定存在了，又是公共的，同时需要在整个生命周期中都存在，所以只需要一份就行
 *
 * 1）单例模式的优点：
 * 在内存中只有一个对象，节省内存空间。
 * 避免频繁的创建销毁对象，可以提高性能。
 * 避免对共享资源的多重占用。
 * 可以全局访问。
 * 2）适用场景：
 * 需要频繁实例化然后销毁的对象。
 * 创建对象时耗时过多或者耗资源过多，但又经常用到的对象。
 * 有状态的工具类对象。
 * 频繁访问数据库或文件的对象。
 *
 * 使用时注意事项:
 *
 * 1）使用时不能用反射模式创建单例，否则会实例化一个新的对象
 *
 * 2）使用懒单例模式时注意线程安全问题
 *
 * 3）饿单例模式和懒单例模式构造方法都是私有的，因而是不能被继承的，有些单例模式可以被继承（如登记式模式）
 */

public class SingelUtils {

    private static SingelUtils singelUtils = new SingelUtils();
    private SingelUtils(){

    }
    public static SingelUtils getSingelUtils(){
        return singelUtils;
    }


}
